VBA | 您所在的位置:网站首页 › vba range copy方法 › VBA |
目录 一、提取数字和非数字 二、以...结尾 正则规则普遍一致,不再详细介绍 具体内容可参考 python正则表达式-正则基础_一个小白的日常的博客-CSDN博客 一、提取数字和非数字1、要求 测试1中,文字和数字的位置发生了变化,仅使用excel表的提取方法已存在问题。下面将使用正则方法进行编辑。 2、代码 Function regEx(text As String, t As Integer) 'text 是查找的文本 t 是提取的类型 '------------------------正则中通用的书写方式----------------------- Dim reg As Object '创建一个正则对象 Set reg = CreateObject("VBScript.RegExp") '声明正则对象 '------------------------使用正则规则编写正则代码----------------------- With reg .Global = True '正则属性,表示查找的全部数据 '如果为True,表示查找所有匹配的值 '如果为False,表示查找第一个匹配到的值 If t = 1 Then '编写数字规则 .Pattern = "\d+" ElseIf t = 2 Then '非数字 .Pattern = "\D+" End If '------------------------提取数据----------------------- '声明一个匹配的对象集合,将编写的正则规则与text进行匹配,如果成功,返回内容 Set mc = .Execute(text) '将匹配成功的内容作为自定义函数的返回值 regEx = mc(0) End With End Function3、结果 二、以...结尾1、要求 2、代码 Function regEx_cunzai(text As String) '------------------------正则中通用的书写方式----------------------- Dim reg As Object Set reg = CreateObject("VBScript.RegExp") '----------------使用正则规则编写正则代码----------------------- With reg .Global = True .Pattern = "(.*?)\_\D+$" '----------------提取数据----------------------- Set mc = .Execute(text) regEx_cunzai = mc(0) End With End Function3、结果
|
CopyRight 2018-2019 实验室设备网 版权所有 |